/* @author cerimice */
package Persistencia.Definicion;

import Sistema.Configuracion;

import java.util.Date;
import java.io.Serializable;

import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.NamedQuery;
import javax.persistence.NamedQueries;

import javax.persistence.FetchType;
import javax.persistence.ManyToOne;
import javax.persistence.JoinColumn;
import javax.persistence.Temporal;

@Entity
@Table(name="seguimientoCartucho")
@NamedQueries
    ({
    @NamedQuery(name="seguimientoCartucho.lista",   query="SELECT c FROM SeguimientoCartucho c WHERE c.cartucho LIKE :valor ORDER BY c.clave")
    })

public class SeguimientoCartucho implements Serializable
    {
    @Id
    @Basic(optional=false)
    @Column(name="clave",nullable=false)
    private String clave;
    
    @Basic(optional=false)
    @Column(name="cartucho",nullable=false)
    private String cartucho;
    
    @Basic(optional=false)
    @Column(name="fecha",nullable=false)
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date fecha;
    
    @Basic(optional=false)
    @Column(name="comentario",nullable=false)
    private String comentario;
    
    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="cartucho",referencedColumnName="clave",insertable=false,updatable=false)
    private Cartucho objCartucho;

    public SeguimientoCartucho()
        {clave = Configuracion.getFormatoClave().format(new Date());}
    
    public void setClave(String clave)              {this.clave = clave;}
    public void setCartucho(String cartucho)        {this.cartucho = cartucho;}
    public void setFecha(Date fecha)                {this.fecha = fecha;}
    public void setComentario(String comentario)    {this.comentario = comentario;}
    
    public String   getClave()      {return clave;}
    public String   getCartucho()   {return cartucho;}
    public Date     getFecha()      {return fecha;}
    public String   getComentario() {return comentario;}
    
    @Override
    public String toString()                {return this.clave;}
    }
